/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意：
* 本软件为www.yixiang.co开发研制，未经购买不得使用
* 购买后可获得全部源代码（禁止转卖、分享、上传到码云、github等开源平台）
* 一经发现盗用、分享等行为，将追究法律责任，后果自负
*/
package co.yixiang.retail.common.domain;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
* @author zhuhongjian
* @date 2021-03-17
*/
@Data
@TableName("yx_store_product_stock_value")
public class StoreProductStockValue implements Serializable {

    @TableId
    private Long id;


    /** 商品ID */
    @NotNull
    private Long productId;


    /** 产品规格属性 */
    @NotNull
    private Integer skuId;


    /** 门店id */
    @NotNull
    private Integer storeId;


    /** 属性对应的库存 */
    @NotNull
    private Integer stock;


    /** 进货量 */
    @NotNull
    private Integer purchaseVolume;


    /** 总进货单价 */
    private BigDecimal purchasePrice;


    /** 进货合计金额 */
    private BigDecimal pruchaseAmount;


    /** 总销货数量 */
    private Integer salesVolume;


    /** 销货单价 */
    private BigDecimal salesPrice;


    /** 销货合计金额 */
    private BigDecimal salesAmount;


    /** 剩余数量 */
    private Integer lastVolume;


    /** 剩余单价 */
    private BigDecimal lastPrice;


    /** 剩余合计金额 */
    private BigDecimal lastAmount;

    public void copy(StoreProductStockValue source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
